It is now common for operating systems to have a shell that provides a graphical user interface (GUI). The shell is a piece of software (either a separate program or component part of the operating system) that provides direct communication between the user and the operating system. The graphical user interface typically provides a graphical icon-oriented and/or menu driven environment for the user to interact with the operating system.
The graphical user interface of many operating system shells is based on a desktop metaphor that creates a graphical environment simulating work at a desk. These graphical user interfaces typically employ a windowing environment with the desktop.
The windowing environment presents the user with specially delineated areas of the screen called windows, each of which is dedicated to a particular application program, file or document. Each window can act independently, as if it were a virtual display device under control of its particular application program. Windows can typically be resized, moved around the display, and stacked so as to overlay another. In some windowing environments, windows can be minimized to an icon or increased to a full-screen display.
Windows may be rendered beside each other or may have a top to bottom order in which they are displayed, with top windows at a particular location on the screen overlaying any other window at that same location according to a z-order (an order of the windows along a conceptual z-axis normal to the desktop or display screen). The top-most window has the “focus” and accepts the user's input. The user can switch other windows to the top (and thereby change the z-order) by clicking on the window with a mouse or other pointer device, or by inputting certain key combinations. This allows the user to work with multiple application programs, files and documents in a manner similar to physically working with multiple paper documents and items that can be arbitrarily stacked or arranged on an actual desk.
Typically, the physical dimensions of computer display screen are much more limited than the desires of users to have different windows, tools, icons, etc. rendered simultaneously and the ability of operating system shells to do so. The result is that the limited extent of display screen “real estate” can limit the ability of operating system shells to render multiple windows, tools, icons, etc. simultaneously.
A variety of prior implementations have attempted to compensate for the fixed and limited extent of display screens. In one prior implementation referred to as morphing, objects (e.g., windows) are quickly transformed into smaller representations or symbols to reduce the amount of display screen area they require. For example, a window may be minimized to a symbol that is rendered on a task bar along on edge of the display screen. The working size f the object may then be re-generated by selecting or activating the symbol.
In another prior implementation referred to as scrolling, some objects (e.g., windows) are accessed from an unrendered, off-screen region by scrolling the objects into the fixed display screen area. For example, the user could be provided a graphical user interface affordance (such as a scroll bar) with which the off-screen objects are to moved into view.
In yet another prior implementation referred to as pop-ups/drop-downs, a user interface affordance (e.g., a menu name) is acted on by user to produce an overlay of other elements such as a window full of menu items that are separately selectable. Typically, this overlay is easily dismissed from the display screen. Finally, in still another prior implementation referred to as drawers, a user interface affordance at the edge of a display screen or window can be pulled out to reveal an overlay of objects or menu items, in the manner of a cabinet drawer. Typically the user can control the amount of the drawer that is pulled out to reveal more or fewer of the objects.
Such prior implementations attempting to compensate for the fixed and limited extent of display screens may be characterized as allowing a user either to move objects onto the fixed display screen area (e.g., as in scrolling or pop-ups/drop-downs or drawers) or moving objects from the display screen or reducing their size (e.g., morphing). As aspect of the present invention is that the fixed and limited extent of display screens may be effectively extended or enlarged by providing different views of an underlying desktop object.
The present invention provides an operating system shell with an underlying desktop object that is rendered according to different views. The operating system shell renders on a display screen a desktop graphical user interface with windows, tools, icons, etc. that are within a segment of the desktop object that can be observed (i.e., rendered) from one of the views. In illustrated implementations, the desktop object is of an extent that is greater than can be rendered from a single view. Allowing a user to select or access different views of the desktop object effectively provides an extended desktop that overcomes the fixed and limited display capabilities of conventional operating system shells.
In one implementation, a variable viewing angle interface is rendered in accordance with first and second viewing angles, the first viewing angle being perpendicular to the desktop object and the second viewing angle being non-perpendicular to the desktop object. A user-controlled viewing selection corresponding to one of perpendicular and angled views is obtained and encompasses one of respective first and second regions of the desktop object. The operating system graphical user interface is rendered as a three-dimensional image transformation of the desktop object in accordance with the selected view.
The present invention allows use of a desktop object that is larger than or extended relative a conventional display screen. Changes between the different views, such as making the change from the perpendicular view to the angled view, is akin to taking a “peek” around an obstruction, in this case the edge of a display screen. Accordingly, this use of different image transformation representations to provide different views of a desktop object may sometimes be referred to as a “peek-around” user interface that quickly reveals portions of desktop object that would normally not be seen.
Additional objects and advantages of the present invention will be apparent from the detailed description of the preferred embodiment thereof, which proceeds with reference to the accompanying drawings.